using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using SERVICIOS;


namespace VISTA
{
    public partial class frmPrincipal : FormBase
    {
        public frmPrincipal()
        {
            InitializeComponent();
        }          

        private void frmPrincipal_Load(object sender, EventArgs e)
        {
            VISTA.login frm = new VISTA.login();
            frm.ShowDialog();
        }

        private void salirToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }


        private void admUsuarioItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.frmAdmUsuarios));
        }

        private void frmAdmGruposItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.frmAdmGrupos));
        }

        private void admPermisosItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.frmAdmPermisos));
        }

        private void asignacionPermisosItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.frmABMPermisosGrupos));
        }

        private void auditoriaSobreUsuariosToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.Auditoria.frmUsuarioAuditoria));
        }

        private void auditoriaDeGruposToolStripMenuItem_Click(object sender, EventArgs e)
        {
            this.MostrarFormulario(typeof(VISTA.Auditoria.frmGrupoAuditoria));
        }

        private void MostrarFormulario(Type formulario)
        {
            if (Seguridad.CanExecuteAbrirFormulario(Sesion.IDUsuario, formulario))
            {
                Form frm = formulario.GetConstructor(Type.EmptyTypes).Invoke(null) as Form;
                frm.MdiParent = this;
                frm.WindowState = FormWindowState.Maximized;
                frm.Show();
            }
            else
            {
                MessageBox.Show("No se puede abrir el formulario, debido a que no posee los permisos necesarios.", "SEG", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

    }
}